package semantico;

import lexico.Token;
import simbolos.Tipo;

/**
 * Implementa operandos da classe ExpressaoAritmetica, inclusive numeros negativos.
 * @author Cefanys
 */
public class Operando extends OperadorAritmetico{

	public Expressao expressao;
	
	public Operando(Token token, Expressao expressao) throws SemanticoException{
		super(token, null);
		this.expressao = expressao;
		tipo = Tipo.tipoExpressao(Tipo.INTEIRO, expressao.tipo);
		
		if(tipo == null) montaErro(1, "");
	}
	
	public Expressao gerarTermo() throws SemanticoException{
		return new Operando(operador, expressao.gerarConstante());
	}
	
	public String toString(){
		return operador.toString() + " " + expressao.toString();
	}
	
}
